En el gran teatro de un programa en C++, los objetos son como actores. Algunos permanecen en escena durante toda la obra, pero la mayoría—los objetos locales—son entidades efímeras que aparecen durante una sola escena y desaparecen para siempre. Esta lección establece la distinción fundamental entre la visibilidad (Ámbito) y su existencia (Duración).
1. Ámbito léxico frente a duración de ejecución
El Ámbito de un nombre es una propiedad de tiempo de compilación: es la región del texto del programa donde un nombre es válido. Por el contrario, Duración es una propiedad de tiempo de ejecución: la duración durante la cual el objeto ocupa una dirección de memoria física.
2. Objetos Automáticos
Los objetos que existen solo mientras se ejecuta un bloque son objetos automáticos. Se crean cuando el control pasa por su definición (int n = 0;) y se destruyen cuando se alcanza la llave de cierre (}) se alcanza. Los parámetros son, en efecto, variables locales inicializadas por argumentos.